﻿using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.Contract.Dtos
{
    public class ContractUserListDto
    {
        /// <summary>
        /// 员工ID
        /// </summary>
        public string UserId { get; set; }

        /// <summary>
        /// 流程号
        /// </summary>
        public string ProcessId { get; set; }

        /// <summary>
        /// 工号
        /// </summary>
        public string WorkNumber { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 所属区域
        /// </summary>
        public string RegionName { get; set; }

        /// <summary>
        /// 部门
        /// </summary>
        public string DepartmentName { get; set; }

        /// <summary>
        /// 职位
        /// </summary>
        public string Position { get; set; }

        /// <summary>
        /// 入职日期
        /// </summary>
        public string JoinedDate { get; set; }

        /// <summary>
        /// 证件号码
        /// </summary>
        public string CardNum { get; set; }

        /// <summary>
        /// 工作地点
        /// </summary>
        public string WorkAddressName { get; set; }

        /// <summary>
        /// 合同编码
        /// </summary>
        public string ContractCode { get; set; }

        /// <summary>
        /// 合同开始时间
        /// </summary>
        public DateTime? ContractStartDate { get; set; }

        /// <summary>
        /// 合同结束时间
        /// </summary>
        public DateTime? ContractEndDate { get; set; }

        /// <summary>
        /// 合同类型
        /// </summary>
        public string ContractTypeName { get; set; }

        /// <summary>
        /// 合同签订次数
        /// </summary>
        public int ContractCount { get; set; }

        /// <summary>
        /// 是否可以订立合同
        /// </summary>
        public bool IsCanFormation { get; set; }

        /// <summary>
        /// 是否可以合同续订
        /// </summary>
        public bool IsCanRenewal { get; set; }

        /// <summary>
        /// 续签状态
        /// </summary>
        public string ContractRenewalStatusName { get; set; }

        /// <summary>
        /// 续签状态
        /// </summary>
        public int? ContractRenewalStatus { get; set; }

        /// <summary>
        /// 合同状态
        /// </summary>
        public int? ContractStatus { get; set; }

        /// <summary>
        /// 合同状态
        /// </summary>
        public string ContractStatusName { get; set; }

        /// <summary>
        /// 是否可以发起续签流程
        /// </summary>
        public bool IsCanInitiateProcess { get; set; }

        /// <summary>
        /// 是否可以发起催办
        /// </summary>
        public bool IsCanCuiBan { get; set; }

        /// <summary>
        /// 是否可以发起作废
        /// </summary>
        public bool IsCanCancel { get; set; }

        /// <summary>
        /// BPM流程
        /// </summary>
        public string InstanceNumber { get; set; }

        public int? ContractDeadLineCode { get; set; }

        /// <summary>
        /// 合同期限类型
        /// </summary>
        public string ContractDeadLineName { get; set; }

        /// <summary>
        /// 电子签流程id
        /// </summary>
        public string SignFlowId { get; set; }

        /// <summary>
        /// 是否生成合同
        /// </summary>
        public bool IsCanGenerateContract { get; set; }

        /// <summary>
        /// 是否电子签
        /// </summary>
        public string IsSign { get; set; }

        /// <summary>
        /// 合同变更状态
        /// </summary>
        public int? ChangeStatus { get; set; }

        /// <summary>
        /// 合同变更状态
        /// </summary>
        public string ChangeStatusName { get; set; }

        /// <summary>
        /// 是否可以变更
        /// </summary>
        public bool IsCanChange { get; set; }

        /// <summary>
        /// 变更协议编号
        /// </summary>
        public string ChangeContractCode { get; set; }

        /// <summary>
        /// 甲方
        /// </summary>
        public string PartyAName { get; set; }

        /// <summary>
        /// 丙方
        /// </summary>
        public string PartyCName { get; set; }

        /// <summary>
        /// 变更日期
        /// </summary>
        public DateTime? ContractChangeDate { get; set; }

        /// <summary>
        /// 流程状态
        /// </summary>
        public string InstanceStatusName { get; set; }

        /// <summary>
        /// SF推送情况
        /// </summary>
        public string SFPushMessage { get; set; }

        /// <summary>
        /// 推送状态
        /// </summary>
        public int SFPushStatus { get; set; }
    }
}
